﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Box.Entities;
using Box.Repository;
using Microsoft.Practices.Unity;

namespace Box.BL
{
    public class NotaPedidoBL : INotaPedidoBL
    {
        [Dependency]
        public INotaPedidoRepository notaRepo { get; set; }
        public List<NotaPedido> GetAllFromNotaPedido()
        {
            return notaRepo.GetAllFromNotaPedido();
        }

        public List<NotaPedido> GetFromNotaPedidoByCriterio(string criterio)
        {
            return notaRepo.GetFromNotaPedidoByCriterio(criterio);
        }

        public List<NotaPedido> GetFromNotaPedidosByFechas(DateTime fechI, DateTime fechaF)
        {
            return notaRepo.GetFromNotaPedidosByFechas(fechI, fechaF);
        }

        public NotaPedido GetFromNotaPEdidoById(int id)
        {
            return notaRepo.GetFromNotaPEdidoById(id);
        }

        public void AddNotaPEdido(NotaPedido notaPedido)
        {
            notaRepo.AddNotaPEdido(notaPedido);
        }

        public void UpdateNotaPedido(NotaPedido notaPedido)
        {
            notaRepo.UpdateNotaPedido(notaPedido);
        }

        public void RemoveNotaPedido(int id)
        {
            notaRepo.RemoveNotaPedido(id);
        }


        public List<NotaPedido> GetFromNotaPedidoByCriterioAndAnuladas(string criterio)
        {
            return notaRepo.GetFromNotaPedidoByCriterioAndAnuladas(criterio);
        }


        public List<NotaPedido> GetFromNotaPedidoByCriterioActivos(string criterio)
        {
            return notaRepo.GetFromNotaPedidoByCriterioActivos(criterio);
        }


        public IEnumerable<NotaPedido> GetNotaPedidos(string criterio, bool? anulados, bool? todos)
        {
            return notaRepo.GetNotaPedidos(criterio, anulados, todos);
        }
    }
}
